About Client
In dentistry, this client supports one of the largest and fastest-growing networks of dental practices in the U.S. This expansive network encompasses nearly 900 locations across 42 states. The primary practice it represents specializes in full-arch dental restorations tailored for patients with missing or compromised dentition. Complementing this, our client operates more than 65 additional locations across 27 states. Together, these entities combine to form the largest provider of fixed and removable prosthetics within the U.S. This underscores their significant presence and pivotal role in addressing dental concerns, particularly patients with issues related to missing or failing teeth.
The Challenge
The client’s original website was built using JavaScript and operated through APIs for healthcare functions. They established an Automation Framework utilizing Cucumber, Selenium, and Java.
- The execution time for each test case was notably lengthy, taking several seconds in some instances. Moreover, the complete execution of the regression suite consumed about 1 to 2 hours.
- The Selenium framework’s capabilities were restricted, resulting in the inability to automate specific processes. One such instance was the challenge of automating the “User Authentication during new tab operations within the same session.”
Meeting the requirements posed a challenge due to several factors:
- Slowness Root Cause: We attribute the root cause of the slow test executions to the outdated version of Selenium. Furthermore, we identified code repetition within the automation scripts contributing to the sluggish performance. Additionally, the automation scripts had hardcoded timeouts due to the behavior of the client’s site, which further exacerbated the execution time even more.
- Desktop Automation Scenarios: Some of the scenarios that needed to be automated involved desktop automation actions that extended beyond the capabilities of Selenium alone. These actions required interactions with the desktop environment that Selenium couldn’t address adequately.
Technology Stack
The Solution
To address the issue of slowness, the Programmers.io team opted to upgrade the Selenium version from 3.14.2 to 4.2.2. This upgrade effectively resolved the delay experienced during internal execution in two ways:
Selenium Upgrade and Code Refactoring
Upgrading the Selenium version improved the execution time of the tests significantly. Moreover, the identified code repetition was eliminated through effective code refactoring, resulting in more streamlined and efficient automation scripts. Replacing hardcoded timeouts with more adaptive waiting mechanisms contributed to a more responsive and reliable test suite.
Extending Automation Capability
Recognizing the limitations of Selenium in handling desktop automation, we employed additional tools like “Auto IT” and the “Robot” library. These tools enabled us to address scenarios that required desktop automation actions, allowing us to achieve a more comprehensive test coverage.
Business Impact
Execution Time Improvement
Decreased the regression suite execution time from a maximum of 2 hours to just 30 minutes. This improvement significantly increased the overall efficiency and proved highly advantageous during the deployment of updated or new builds. As a result, quicker feedback on the stability and functionality of the build aided in more rapid release cycles.
Increased Automation Scenario Coverage
Increased automation scenario coverage when the AutoIT and Robot libraries were integrated into the Selenium framework. The broader automation scenario coverage leads to more comprehensive testing and better quality assurance.
Enhanced Jenkins Compatibility
Enhanced Jenkins compatibility by removing hard-coded waits from the system, especially in a non-headed mode. This improved compatibility with Jenkins facilitated streamlined integration into continuous integration and delivery pipeline.
Check out our
success stories
Video Testimonials
Effectively Extending
Your Team
Ken Stewart, PMP, CSM
Vice president of operations & Engineering
PSigen Software Inc.
Play Video
Video Testimonials
Onboarding The Programmers.io Team
Brandy Churchill
Software Development Manager
Western National Insurance
Play Video
Video Testimonials
Effectively Extending
Your Team
Jackie Flummer
Director, Technical Business Systems
AmerCareRoyal
Play Video
Video Testimonials
Effectively Extending
Your Team
Luis Gonzalez
President
SalesScoreKeeper